package com.songlanyun.modules.integralconfig.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.songlanyun.common.drive.RootEntity;
import lombok.Data;

import javax.validation.constraints.*;

/**
 * 平台积分配置表
 *
 * @author wuchao
 * @email sunlightcs@gmail.com
 * @date 2021-02-25 15:33:55
 */
@Data
@TableName("yxt_system_integral_config")
public class IntegralConfig extends RootEntity<Long, IntegralConfig> implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    @TableId
    private Long id;
    /**
     * 发布的文章被浏览1次获取多少积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal byBrowse;
    /**
     * 发布的文章被浏览1次每日上限积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal byBrowseLimit;
    /**
     * 发布的文章被点赞1次获取多少积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal byLike;
    /**
     * 发布的文章被点赞1次每日上限积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal byLikeLimit;
    /**
     * 发布的文章被有效评论1次获取多少积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal byComment;
    /**
     * 发布的文章被有效评论1次每日上限积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal byCommentLimit;
    /**
     * 发布的文章被转发1次获取多少积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal byShare;
    /**
     * 发布的文章被转发1次每日上限积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal byShareLimit;
    /**
     * 浏览文章1次获取多少积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal browse;
    /**
     * 浏览文章1次每日上限积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal browseLimit;
    /**
     * 点赞文章1次获取多少积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    @TableField("`like`")
    private BigDecimal like;
    /**
     * 点赞文章1次每日上限积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal likeLimit;
    /**
     * 发布有效评论1次获取多少积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal comment;
    /**
     * 发布有效评论1次每日上限积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal commentLimit;
    /**
     * 分享文章1次获取多少积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal share;
    /**
     * 分享文章1次每日上限积分
     */
    @DecimalMin(value = "0.00", message = "最小为0")
    @DecimalMax(value = "9999999.99", message = "最大为9999999.99")
    private BigDecimal shareLimit;
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    @Override
    public Long getIdentity() {
        return this.getId();
    }
}
